home *** CD-ROM | disk | FTP | other *** search
/ Mac Magazin/MacEasy 15 / Mac Magazin and MacEasy Magazine CD - Issue 15.iso / Spiele & Edutainment / Battuere 1.0 ƒ / READ ME- Battuere Docs < prev   
Text File  |  1995-09-22  |  17KB  |  230 lines

  1.                        Battuere 1.0 Documentation
  2.                                                                            ©1995 Jamie Morgan
  3.  
  4.  
  5. Contents:
  6.  
  7.    • Overview/Rules
  8.    • Features
  9.    • Shareware Notice
  10.    • Requirements
  11.    • Instructions
  12.    • Menu commands
  13.    • Scoring
  14.    • Decision Engine
  15.    • Game’s History
  16.    • The Name
  17.    • Technical Information
  18.    • Distribution Information
  19.    • Questions? Comments?
  20.    • Thanks To...
  21.    • Version History
  22.  
  23. ______________________________________________________
  24.  
  25. Overview/Rules:
  26.  
  27. Battuere is a strategy game played on an 8 by 8 square board between two players (or a human player and the computer).  Each player has 7 pawns positioned at a right angle to his opponent’s pawns.  The object of the game is to move all of your pawns across the board and off the edge opposing their starting position.  Pawns can only move one space at a time-- either forward or sideways, but not backward or diagonally.  Players take turns moving their pawns to locations either off the board or currently vacant.  There are no jumps or captures.  The winner is the person who removes all of his pawns from the board first.  A player loses the game by leaving his opponent no valid moves.
  28.  
  29. ______________________________________________________
  30.  
  31. Features:
  32.  
  33.    • raytraced 256 color graphics with rich textures 
  34.    • 3D perspective view of granite gameboard and pawns
  35.    • fluid animation of game pawns
  36.    • multichannel music plays in the background
  37.    • four songs to choose from
  38.    • multichannel asynchronous sound effects
  39.    • two play modes: human vs. human and human vs. computer
  40.    • computer uses variable ply Minimax search engine to determine optimal move
  41.    • computer can play on any of 3 skill levels
  42.    • ability to save games in progress and play them later
  43.    • scoring system with record for top 10 scores
  44.    • user-adjustable time limit from 1 to 999 seconds per move
  45.    • L.E.D.-esque game clock shows game time and move time
  46.    • 3 animation modes for Macs of all speeds
  47.    • miniature overhead view for rapid movement of pawns
  48.    • ability to retract undesirable moves
  49.    • complete on-line help and information
  50.              
  51.                          And more...
  52.  
  53. ______________________________________________________
  54.  
  55. Shareware Notice:
  56.  
  57. Please note that Battuere is NOT free.  It is distributed under the shareware system.  Simply put, this means that if you spare Battuere the wrath of the Empty Trash command and enjoy playing it, I request that you keep your conscience clear and my stomach filled by sending the paltry sum of $15 and your completed Registration Form to the address below.  If you find this fee unacceptable, then by all means just pay what you feel the program is worth.  Your shareware payment goes towards helping a struggling college student maintain his financial stability (and sanity).  As well, it will motivate me to improve Battuere and release future shareware offerings to the Mac community.  It’s a rather simple concept, actually: you play it, you pay it!  Thank you in advance for supporting shareware and helping to promote the creation of further low cost/high quality software.  YOU make a difference!  
  58.  
  59. Jamie Morgan                        E-mail: jrmorgan@mit.edu 
  60. 450 Memorial Drive               Web: http://www.mit.edu:8001/people/jrmorgan/JRMorgan.html                                        
  61. Cambridge, MA 02139
  62.  
  63. ______________________________________________________
  64.  
  65. Requirements:
  66.  
  67. • a Macintosh with color QuickDraw
  68. • a monitor of at least 640 by 480 resolution
  69. • 256 color capability
  70. • 1400k of free memory
  71. • for music: QuickTime™ 2.0 or greater and (optionally) the “QuickTime™ Musical Instruments” file
  72.  
  73. If you play a lot of games, I suggest you purchase some external speakers too.  Virtually any pair will offer better sound than a stock Macintosh and they make game playing a much more visceral experience.  
  74.  
  75. Also, although it’s not required, you should probably quit all other applications before launching Battuere.  Any program that eats up background time will slow down the animation, computer’s move algorithm, and perhaps even affect the music quality (depending on how many programs are running and how fast your computer is).
  76.  
  77. In order to hear the background music, you must have both QuickTime™ 2.0 and the “QuickTime™ Musical Instruments” file in your Extensions folder.  If you have QuickTime™ 2.0 but not the QuickTime™ Musical Instruments file, the music will still play but all of the voices will be played with the same instrument.  As I understand, Mac OS version 7.5 and later comes with both of these.  However, if you do not have either the QuickTime™ 2.0 extension or QuickTime™ Musical Instruments, then you can obtain them from the Internet (or from an Internet provider such as America OnLine).  QuickTime™ 2.0 is available for download at "http://quicktime.apple.com/emmys/QTMAC.hqx".   The QuickTime™ Musical Instruments file is also available via ftp from Apple:
  78.  
  79. Site:              ftp.info.apple.com
  80. Directory:   /Apple.Support.Area/Apple.Software.Updates/US/Macintosh/System/Other_System
  81. Filename:     QuickTime_Musical_Instruments.sea.hqx
  82. File size:     438k
  83.  
  84. If you have any questions about finding QuickTime™ 2.0 or the QuickTime™ Musical Instruments file,  send an e-mail message to "quicktime@applelink.apple.com".  
  85.  
  86. ______________________________________________________
  87.  
  88. Instructions:
  89.  
  90. Battuere may be played between two humans or between a human and the computer.  Use the Mode menu to choose which mode you’d like to play.   You may also adjust various rules and features of the game before or during play by choosing the Options... command from the Game menu.   To start a new game, choose the New Game command from the File menu.   Once a game is in progress, an indicator at the top of the screen will inform you whose turn it is to move.  While the computer is choosing its move, the cursor will appear as a yin-yang shape.
  91.  
  92. Human participants make a move by clicking on the base of the pawn they wish to displace, holding the mouse button down, and then dragging the pointer to the destination square.  The cursor will change color to indicate that the move is valid.  To move a piece off the board, click and drag the pawn to the region just beyond the board’s boundary.  The two red boxes at the top of the screen illustrate how many pawns you and your opponent have each removed from the board.   At the bottom-left corner of the screen is a digital game clock showing the elapsed time for the game itself and for the current move.  If a time limit is in effect (adjustable via the Options... command), a large red exclamation point will appear on the screen when you are within 5 seconds of the time limit.  If you do not make a move before your time has expired, you lose your turn and it becomes your opponent’s turn.
  93.  
  94. As well, there is an overhead board at the bottom-right corner of the screen that can be used if the player finds the perspective view disorienting.  Pawns can be moved from it just as they can from the main board. 
  95.  
  96. If a player inadvertently moves the wrong pawn or makes an otherwise undesirable move, the Retract Move menu command will undo the move and allow the player another chance to take his turn.  In the case of a human vs. computer match, the Retract Move command will erase both the player’s erroneous move and the computer’s response to the undesired move. 
  97.  
  98. ______________________________________________________
  99.  
  100. Menu Commands:
  101.  
  102. These are all pretty self-explanatory, but just in case you’re wondering...
  103.  
  104. About Battuere... - displays basic information about the program
  105.  
  106. File
  107. New Game - resets the game clock, starts background music (if playable), and begins a new game using the current options and play mode
  108. Abort Game - resets the game board, stops the music, and returns you to the high scores screen
  109. Open Game... - opens a dialog box allowing you to choose a saved game file to play.  You must abort your current game before you can play a saved game.
  110. Save Game... - opens a dialog box allowing you to save a game in progress.  Use this option to store a game you’d like to return to later on.    The gameboard, game clock, rules, play mode, and high score components are all saved in the game file.
  111. Quit - aborts the game in progress and returns you to the Finder.
  112.  
  113. Game
  114. Retract Move - if move retraction is enabled in the Options dialog box, this command will undo your most recent move.  Otherwise the computer will beep to indicate that you cannot retract the move.
  115. Options... - opens a dialog box allowing you to adjust many of the program’s features and parameters.  You can: adjust the animation speed (or turn it off); toggle the display of the withdrawn pawn boxes, game clock, and overhead view; change the computer’s skill level; turn sound effects on/off; turn music on/off; change the song; toggle which color goes first; enable/disable move retraction; adjust the time limit; and specify whether the time limit is enforced or not.
  116. Clear High Scores... - permanently resets the ten high scorers’ names and scores
  117. Help & Information... - opens a dialog box giving you on-line help.  Click on a topic to receive information.  Most of the text in the on-line help dialog box is repeated in this documentation.
  118.  
  119. Mode
  120. Player vs. Computer - select this mode to play against the computer.
  121. Player vs. Player - this mode allows two people to play against each other.
  122.  
  123. ______________________________________________________
  124.  
  125. Scoring:
  126.  
  127. In the human vs. computer mode, a score is calculated following the player’s victory (no score is tabulated for a computer victory).  If the score is high enough, the player will be prompted to add his name to the high score list.  NOTICE: A player forfeits his high score attempt if he alters any of these options in the middle of a game: the time limit, whether or not the time limit is enforced, the computer's skill level, and whether or not move retraction is allowed.  Factors included in the score tabulation are listed below (most important factors listed first).
  128.  
  129.          • Computer's skill level
  130.          • Move retraction enabled or disabled
  131.          • Number of moves the player won by
  132.          • Total game time
  133.          • Player's time limit
  134.          • Number of moves player made
  135.          • Who went first: computer or player
  136.  
  137. ______________________________________________________
  138.  
  139. Decision Engine:
  140.  
  141. For those of you who are curious, the algorithm for the computer’s choice of moves is based upon a variable ply look-ahead search.  For each valid move the computer has to choose from, it computes each possible countermove.  It then checks its countermoves to these countermoves, and so on.  When a certain search depth is reached (4 moves in advance, for instance), the computer evaluates the root nodes of the search tree using a custom static evaluation function.  This, simply put, is a mathematical formula that assigns a numerical value to a given board state reflecting the relative advantage or disadvantage of the player in question.  Using the Minimax principle of game theory, the root nodes are then backed up the game tree to the original array of move options.  The computer then selects the move with the highest backed-up evaluation score.  Got all that?  There’ll be a quiz later...
  142.  
  143. ______________________________________________________
  144.  
  145. History:
  146.  
  147. Battuere stems from a game known as Dodgem.  Dodgem was created in 1972 by Colin Vout, then a student at the University of Cambridge.  The game received its major publicity from Martin Gardner, who discussed it in his mathematical recreations column in Scientific American (June 1975).  A BASIC version of Dodgem (written by Mac Oglesby) appeared in the book More BASIC Computer Games by David Ahl.  No offense to Mr. Oglesby, but that version played like a lobotomized pack mule.  Battuere is my attempt to produce a more challenging and entertaining version of a very enjoyable board game.
  148.  
  149. ______________________________________________________
  150.  
  151. What’s In A Name?
  152.  
  153. Well, if I thought of it, not much.  Therefore, I feel some explanation of this program’s not-so-explicit title is called for.  The game was originally known as Dodgem.  In my opinion, that name just plain sucked.  To find a suitably ineffable replacement I tried to think of the game’s intrinsic attributes: offense, defense, strategy, race, evasion, contest, etc.  Eventually, my mind turned to more belligerent locutions: war, battle, combat, attack, etc.  Uninspired by these mundane possibilities, I decided to look at the etymologies of said words.  To make a long story longer, the word battuere, meaning ‘to beat’, is the Latin root for the word battle.  Do you think it sounds stupid? You’ll get over it.  :-)
  154.  
  155. ______________________________________________________
  156.  
  157. Technical Information:
  158.  
  159. Battuere was programmed in the THINK Pascal 4.0 environment.  The pawn sprites and game board were ray traced using POV-Ray 2.0.  Photoshop was then used to eliminate extra colors so that the pawns wouldn't have that "dithered to all hell" look in 256 color mode.  The animation sequence for each pawn consists of 20 separate frames for each 360° rotation.  The frames and masks are stored in offscreen pixmaps and drawn to the screen using CopyMask().  The screen is updated with a new frame each time a null event is queued.  
  160.  
  161. I don't know how many Mac programmers out there are still using Pascal for real applications, but if there's enough demand I might release the source code for Battuere.  As it is, this is probably my last Pascal program because, despite my vehement objections, the rest of the civilized universe programs in C or C++.  To be quite honest, the only thing I know about C is that it comes after B and before D.
  162.  
  163. ______________________________________________________
  164.  
  165. Distribution Information:
  166.  
  167. You may (and I encourage you to) freely distribute Battuere via any non-commercial medium including, but not limited to: person-to-person, diskette, electronic BBS, on-line services, and ftp.  You may also include Battuere in a commercial software collection, as in a CD-ROM or user group set, provided that you contact me first to seek permission.  Most important, I ask that you upload/distribute Battuere in its original unmodified state (i.e. the shareware notices remain intact, and the Documentation and Registration documents are included with the application).
  168.  
  169. ______________________________________________________
  170.  
  171. Questions? Comments? Bugs? Suggestions?
  172.  
  173. If you have anything to say about Battuere I would greatly appreciate hearing from you.  Do you like it? Hate it?  Are there any features I could add?  How about bug reports?  With your help, Battuere could evolve into a great game.  I already have many ideas in mind for version 2.0. (see "Version History...)  
  174.  
  175. So drop me a line! (and send in those shareware fees!)
  176.  
  177. E-mail:  jrmorgan@mit.edu
  178.  
  179.     Web:  http://www.mit.edu:8001/people/jrmorgan/JRMorgan.html
  180.  
  181. Snail-mail:
  182.          Jamie Morgan
  183.          450 Memorial Drive 
  184.          Cambridge, MA 02139
  185.  
  186. ______________________________________________________
  187.  
  188. Special Thanks/Credits/Assorted Things You Don’t Care About:
  189.  
  190. Mama and Pops- they gave me life (and work their asses off to pay for college)
  191. MAM, Juan Solo, Captain Dexterity, Khanh P. Tron (God), Burritoito, et al. -- friends that don't suck
  192. My beta testers (both of them)
  193. The "nachtmusik" coalition (impossible to code without)
  194. M.I.T. Course VI- the only true hackers left
  195. john calhoun- his Pascal code has taught me oodles
  196. Denny’s- cheapest food available at 3:00 a.m. (more precisely, the only food available at 3:00 a.m)
  197. Houston’s 610 loop- 38 miles of unadulterated felicity...
  198. Shareware supporters everywhere- help this po’ boy out!!!
  199.  
  200. Also, thanks to Glenn Andreas for his GMS library:
  201. Gandreas Music System © 1994, Glenn Andreas, All Rights Reserved.
  202.  
  203. ______________________________________________________
  204.  
  205. Version History:
  206.  
  207. 1.0      9/22/95        First official release.  Yep, you got the first one!!
  208.  
  209. Things I'd like to add to the next version if I ever get a chance:  (cha, right...)
  210.  
  211. - Network and modem capability for playing distant friends
  212. - Editable search depth and static evaluation function (for AI tinkerers)
  213. - Tournament mode
  214. - Power Mac native
  215. - Direct screen blitting to speed animation
  216.     (or better yet, send those damn spinning pawns to their death)
  217. - Enhancing/streamlining AI (use alpha-beta pruning, etc...)
  218. - Use Thread Manager for computer's search routine
  219. - Computer vs. computer demo mode
  220.  
  221. ______________________________________________________
  222.  
  223.                                 _\|/_
  224.                                 {o o}
  225.                       _______ooO_(_)_Ooo_______
  226.                       __|___|___|___|___|___|__
  227.                       |___|___|___|___|___|___|
  228.  
  229.                           Battuere 1.0  ©1995 Jamie Morgan, All rights reserved.